package com.yida.gwj.config.mapper;

import com.yida.gwj.api.domain.GwjConfCalculateType;

import java.util.List;

/**
 * 计算标准Mapper接口
 *
 * @author lqq
 * @date 2022-12-13
 */
public interface GwjConfCalculateTypeMapper {

	/**
	 * 查询计算标准列表
	 *
	 * @param gcCalculateType 计算标准
	 * @return 计算标准集合
	 */
	List<GwjConfCalculateType> selectGwjConfCalculateTypeList(GwjConfCalculateType gcCalculateType);

	/**
	 * 根据ID查询计算标准
	 *
	 * @param calculateTypeId 计算标准主键
	 * @return 计算标准
	 */
	public GwjConfCalculateType selectGwjConfCalculateTypeByCalculateTypeId(Long calculateTypeId);

	/**
	 * 查询计算标准
	 *
	 * @param gcCalculateType 计算标准
	 * @return 计算标准
	 */
	public GwjConfCalculateType selectGwjConfCalculateType(GwjConfCalculateType gcCalculateType);
	
	 /**
	  * 查询是否存在同名计算标准
	  * 
	  * @param gwjConfCalculateTypeName 标准名称
	  * @return 结果
	  */
	 public int hasGwjConfCalculateTypeByName(String gwjConfCalculateTypeName);

	/**
	 * 新增计算标准
	 *
	 * @param gcCalculateType 计算标准
	 * @return 结果
	 */
	public int insertGwjConfCalculateType(GwjConfCalculateType gcCalculateType);

	/**
	 * 修改计算标准
	 *
	 * @param gcCalculateType 计算标准
	 * @return 结果
	 */
	int updateGwjConfCalculateType(GwjConfCalculateType gcCalculateType);

	/**
	 * 批量修改计算标准
	 *
	 * @param gcCalculateTypes 计算标准集合
	 * @return 计算标准
	 */
	public int updateBatchGwjConfCalculateType(List<GwjConfCalculateType> gcCalculateTypes);

	/**
	 * 删除计算标准
	 *
	 * @param calculateTypeId 计算标准主键
	 * @return 结果
	 */
	public int deleteGwjConfCalculateTypeByCalculateTypeId(Long calculateTypeId);

	/**
	 * 批量删除计算标准
	 *
	 * @param calculateTypeIds 需要删除的数据主键集合
	 * @return 结果
	 */
	public int deleteGwjConfCalculateTypeByCalculateTypeIds(Long[] calculateTypeIds);
}
